package com.huangguolin.cloud.role.service;

import com.huangguolin.cloud.mybatis.entity.PtRoleEntity;
import com.huangguolin.cloud.mybatis.flexigrid.PadingRstEntity;
import com.huangguolin.cloud.mybatis.flexigrid.PagingEntity;
import com.huangguolin.cloud.mybatis.ztree.ZtreeEntity;
import com.huangguolin.cloud.role.entity.SearchRoleEntity;

import java.util.List;

public interface RoleService {
    /**
     * 分页查询
     * @param entity 查询条件
     * @param paging 分页信息
     * @return
     */
    PadingRstEntity<PtRoleEntity> queryRoleListByPage(SearchRoleEntity entity, PagingEntity paging);

    /**
     * 查询菜单ztree列表
     * @return
     */
    List<ZtreeEntity> queryMenuZtreeAll();

    /**
     * 根据角色id更新菜单关系
     * @param menuIds
     * @param roleIds
     */
    void saveMenuRefRole(String menuIds, String roleIds);

    /**
     * 根据角色id查询菜单ztree列表
     * @param roleId
     * @return
     */
    List<ZtreeEntity> queryMenuZtreeByRole(String roleId);

    /**
     * 增加角色
     * @param roleName
     * @param remarks
     */
    void addRole(String roleName, String remarks);

    /**
     * 删除角色
     * @param roleUuid
     */
    void deleteRole(String roleUuid);

    /**修改用户信息
     * @param roleUuid
     * @param roleName
     * @param remarks
     */
    void modifyRole(String roleUuid, String roleName, String remarks);

    /**
     * 根据角色id查询权限
     * @param roleUuid
     * @return
     */
    List<ZtreeEntity> getRoleAuthority(String roleUuid);
}
